package com.an.blog.service;

import com.an.blog.admin.domain.bo.BlogDailyImageBo;
import com.an.blog.admin.domain.vo.BlogDailyImageVo;
import com.an.common.core.domain.PageQuery;
import com.an.common.core.page.TableDataInfo;

import java.util.Collection;
import java.util.List;

/**
 * 博客每日图片Service接口
 *
 * @author Ann
 * @date 2023-09-25
 */
public interface IBlogDailyImageService {

    /**
     * 查询博客每日图片
     */
    BlogDailyImageVo queryById(Long id);

    /**
     * 查询博客每日图片列表
     */
    TableDataInfo<BlogDailyImageVo> queryPageList(BlogDailyImageBo bo, PageQuery pageQuery);

    /**
     * 查询博客每日图片列表
     */
    List<BlogDailyImageVo> queryList(BlogDailyImageBo bo);

    /**
     * 新增博客每日图片
     */
    Boolean insertByBo(BlogDailyImageBo bo);

    /**
     * 修改博客每日图片
     */
    Boolean updateByBo(BlogDailyImageBo bo);

    /**
     * 校验并批量删除博客每日图片信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    /**
     * 更新每日图像状态
     *
     * @param bo 薄
     * @return int
     * @author: Ann
     * @createDate: 2023/09/25 10:40:43
     * @version: 1.0.0
     */
    int updateDailyImageStatus(BlogDailyImageBo bo);

    /**
     * 随机查询列表
     *
     * @param defaultNumber 违约数量
     * @return {@link List }<{@link BlogDailyImageVo }>
     * @author: Ann
     * @createDate: 2023/09/25 11:37:47
     * @version: 1.0.0
     */
    List<BlogDailyImageVo> queryListByRandom(String defaultNumber);
}
